# 练习完成的，可以扩展内容：
# 1） 编写一个装饰器，将函数返回值转换为字符串
def x(n): #装饰参数n为函数
   def x_1(m): #被装饰函数的参数
       print(f"{n.__name__}开始执行，参数为:{m}")
       s = n(m)#调用被装饰函数，定义一个变量作为原始函数的结果
       print(f"{n.__name__}执行结束了，返回结果为{str(s)}")
       return s
   return x_1 #包装函数
# 2）使用filter()筛选出列表[12,17,24,19,16]中的偶数
lst = [12,17,24,19,16]
x = list(filter(lambda num:num%2==0, lst))
print(x)
# 3）思考三层装饰器怎么写
def x(n): #装饰参数n为函数
   def x_1(m): #被装饰函数的参数
       print(f"{n.__name__}开始执行，参数为:{m}")
       s = n(m)#调用被装饰函数，定义一个变量作为原始函数的结果
       print(f"{n.__name__}执行结束了，返回结果为{str(s)}")
       return s
   return x_1 #包装函数